package com.uroad.liaoningpos.webService;

import java.util.HashMap;

/**
 * @创建者 wlw
 * @创建时间 2019/4/3 11:20
 * @描述
 */
public class PosWS extends BaseWS {

    public static final String online = "inner/pos/online";
    /**
     * 3.1.1.	启动设备注册与更新（online）
     * @param osver 操作系统版本号
     * @param phonemodel 机型
     * @param appver app版本号
     * @param deviceuuid 设备唯一码
     * @param devicename 设备名称
     * @param posdeviceuuid POS六合一唯一码
     * @return
     */
    public static HashMap<String, Object> onlineParams(String osver,String phonemodel,
                                   String appver,String deviceuuid,
                                   String devicename, String posdeviceuuid){
        HashMap<String, Object> params = getBaseParams();
        params.put("os", "Android");
        params.put("osver", osver);
        params.put("phonemodel", phonemodel);
        params.put("appver", appver);
        params.put("deviceuuid", deviceuuid);
        params.put("devicename", devicename);
        params.put("posdeviceuuid", posdeviceuuid);
        return params;
    }


    public static final String getbeonduty = "inner/pos/getbeonduty";
    /**
     * 获取班次
     * @return
     */
    public static HashMap<String, Object> getbeondutyParams(){
        HashMap<String, Object> params = getBaseParams();
        return params;
    }

    public static final String appVersion = "inner/pos/appVersion";
    /**
     * 3.1.2.	获取APP最新版本信息(appVersion)
     * @param deviceuuid 设备唯一码
     * @return
     */
    public static HashMap<String, Object> appVersionParams(String deviceuuid){
        HashMap<String, Object> params = getBaseParams();
        params.put("deviceuuid", deviceuuid);
        return params;
    }


    public static final String login = "inner/pos/login";
    /**
     * 3.1.3.	用户登录（login）
     * @param loginname 登录名
     * @param password 密码
     * @param deviceuuid 设备UUID
     * @param merchantshopid 商户id
     * @param beonduty 班次
     * @return
     */
    public static HashMap<String, Object> loginParams(String loginname,String password,String deviceuuid,
                                       String merchantshopid,String beonduty,String posimei){
        HashMap<String, Object> params = getBaseParams();
        params.put("loginname", loginname);
        params.put("password", password);
        params.put("deviceuuid", deviceuuid);
        params.put("merchantshopid", merchantshopid);
        params.put("beonduty", beonduty);
        params.put("posimei", posimei);
        return params;
    }


    public static final String paylogout = "inner/pos/paylogout";
    /**
     * 3.1.4.	查询结算（paylogout）
     * @param ticketid 登录验证标识
     * @param deviceuuid 设备UUID
     * @return
     */
    public static HashMap<String, Object> paylogoutParams(String ticketid,String deviceuuid,
                                                          String posimei,String beonduty){
        HashMap<String, Object> params = getBaseParams();
        params.put("ticketid", ticketid);
        params.put("deviceuuid", deviceuuid);
        params.put("posimei", posimei);
        params.put("beonduty", beonduty);
        return params;
    }


    public static final String logout = "inner/pos/logout";
    /**
     * 3.1.5.	用户退出（logout）
     * @param ticketid 登录验证标识
     * @param deviceuuid 设备UUID
     * @return
     */
    public static HashMap<String, Object> logoutParams(String ticketid,String deviceuuid){
        HashMap<String, Object> params = getBaseParams();
        params.put("ticketid", ticketid);
        params.put("deviceuuid", deviceuuid);
        return params;
    }

    public static final String ordernofind = "inner/pos/ordernofind";
    /**
     * 根据流水号查询订单号 （间连撤销）
     * @param traceno 流水号 000001
     * @return
     */
    public static HashMap<String, Object> ordernofindParams(String traceno){
        HashMap<String, Object> params = getBaseParams();
        params.put("traceno", traceno);
        return params;
    }


    public static final String pay = "inner/pos/pay";
    /**
     * 3.1.6.	支付（pay）
     * @param amt   金额
     * @param merchantno	商户号
     * @param merchantname	商户名称
     * @param terminalno	终端号
     * @param batchno	批次号
     * @param traceno	凭证号
     * @param refno 	参考号
     * @param transchnname	交易名称
     * @param cardIssuercode	发卡行名称
     * @param cardIssuerId  	发卡行id
     * @param cardacquirercode	收单行名称
     * @param cardacquirerId	收单行id
     * @param date	日期
     * @param time	时间
     * @param memInfo	备注信息
     * @param cardno	卡号
     * @param type  	类型
     * @param operno	操作人
     * @param posimei	posimei
     * @param beonduty  班次
     * @param voucherno	付款凭证号
     * @param insertid	商户订单id
     * @param orderno	商户订单号
     * @return
     */
    public static HashMap<String, Object> payParams(String amt,String merchantno,String merchantname,
                                    String terminalno,String batchno,String traceno,
                                    String refno, String transchnname, String cardIssuercode,
                                    String cardIssuerId, String cardacquirercode, String cardacquirerId,
                                    String date,String time,String memInfo,
                                    String cardno,String type,String operno,
                                    String posimei,String beonduty,String voucherno,
                                    String insertid,String orderno){
        HashMap<String, Object> params = getBaseParams();
        params.put("amt", amt);
        params.put("merchantno", merchantno);
        params.put("merchantname", merchantname);
        params.put("terminalno", terminalno);
        params.put("batchno", batchno);
        params.put("traceno", traceno);
        params.put("refno", refno);
        params.put("transchnname", transchnname);
        params.put("cardIssuercode", cardIssuercode);
        params.put("cardIssuerId", cardIssuerId);
        params.put("cardacquirercode", cardacquirercode);
        params.put("cardacquirerId", cardacquirerId);
        params.put("date", date);
        params.put("time", time);
        params.put("memInfo", memInfo);
        params.put("cardno", cardno);
        params.put("type", type);
        params.put("operno", operno);
        params.put("posimei", posimei);
        params.put("beonduty", beonduty);
        params.put("voucherno", voucherno);
        params.put("insertid", insertid);
        params.put("orderno", orderno);
        return params;
    }


    public static final String payrevoke = "inner/pos/payrevoke";
    /**
     * 3.1.7.	撤销（payrevoke）
     * @param traceno 流水号
     * @param refundtraceno 撤销凭证号
     * @param merchantno 商户号
     * @param terminalno 终端号
     * @return
     */
    public static HashMap<String, Object> payrevokeParams(String traceno,String refundtraceno,
                                                          String merchantno,String terminalno){
        HashMap<String, Object> params = getBaseParams();
        params.put("traceno", traceno);
        params.put("refundtraceno", refundtraceno);
        params.put("merchantno", merchantno);
        params.put("terminalno", terminalno);
        return params;
    }


    public static final String paylist = "inner/pos/paylist";
    /**
     * 3.1.8.	交易明细（paylist）
     * @param pageindex 分页页数
     * @param pagesize 每页条数
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return
     */
    public static HashMap<String, Object> paylistParams(String pageindex,String pagesize,
                                        String startTime,String endTime,String posimei){
        HashMap<String, Object> params = getBaseParams();
        params.put("pageindex", pageindex);
        params.put("pagesize", pagesize);
        params.put("startTime", startTime);
        params.put("endTime", endTime);
        params.put("posimei", posimei);
        return params;
    }


    public static final String updatepassword = "inner/pos/updatepassword";
    /**
     * 3.1.9.	修改密码（updatepassword）
     * @param useruuid    用户唯一标识
     * @param merchantshopid	商户id
     * @param oldpassword	旧密码
     * @param newpassword	新密码
     * @return
     */
    public static HashMap<String, Object> updatepasswordParams(String useruuid,String merchantshopid,
                                        String oldpassword,String newpassword){
        HashMap<String, Object> params = getBaseParams();
        params.put("useruuid", useruuid);
        params.put("merchantshopid", merchantshopid);
        params.put("oldpassword", oldpassword);
        params.put("newpassword", newpassword);
        return params;
    }

    public static final String payno = "/pos/payno";
    /**
     * 3.1.7.	查询支付渠道（payno）
     * @param payno 付款码
     * @return
     */
    public static HashMap<String, Object> paynoParams(String payno){
        HashMap<String, Object> params = getBaseParams();
        params.put("payno", payno);
        return params;
    }

    public static final String getcodetype = "pos/getcodetype";

    /**
     * 3.1.7.	支付 下单接口获取单号和渠道
     *
     * @param amt  金额
     * @param type 支付类型
     * @return
     */
    public static HashMap<String, Object> getcodetypeParams(String amt, String type, String beonduty, String barcode) {
        HashMap<String, Object> params = getBaseParams();
        params.put("amt", amt);
        params.put("type", type);
        params.put("beonduty", beonduty);
        params.put("barcode", barcode);
        return params;
    }

    public static final String payorder = "inner/pos/payorder";

    /**
     * 3.1.7.	支付 下单接口
     *
     * @param amt  金额
     * @param type 支付类型
     * @return
     */
    public static HashMap<String, Object> payorderParams(String amt, String type, String beonduty) {
        HashMap<String, Object> params = getBaseParams();
        params.put("amt", amt);
        params.put("type", type);
        params.put("beonduty", beonduty);
        return params;
    }

    public static final String payerr = "inner/pos/payerr";

    /**
     * 3.1.7.	支付失败接口
     * @param insertid 下单接口返回insertid
     * @param orderno 订单号
     * @param errmsg 错误信息
     * @return
     */
    public static HashMap<String, Object> payerrParams(String insertid,String orderno,String errmsg,
                                                       String merchantno,String merchantname,
                                                       String terminalno,String beonduty){
        HashMap<String, Object> params = getBaseParams();
        params.put("insertid", insertid);
        params.put("orderno", orderno);
        params.put("errmsg", errmsg);
        params.put("merchantno", merchantno);
        params.put("merchantname", merchantname);
        params.put("terminalno", terminalno);
        params.put("beonduty", beonduty);
        return params;
    }


}
